package com.ywd.materials.admin.mapper;

import com.ywd.materials.admin.common.Common;
import com.ywd.materials.admin.dto.query.FirstPageOneOneQuery;
import com.ywd.materials.admin.vo.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * YWD
 * 2025/11/14
 */
@Mapper
public interface FirstPageMapper {

    List<MaterialsWarehouseTreePartVo> getWarehouseTree(@Param("query") FirstPageOneOneQuery query);

    Integer getGoodsCount(@Param("warehouseIds") List<Long> warehouseIds);

    List<String> getGoodsType();

    Integer getRatio(@Param("warehouseIds") List<Long> warehouseIds, @Param("type") String type);

    FirstPageTwoTwoVo getTwoStatistics(@Param("warehouseIds") List<Long> warehouseIds);

    List<FirstPageThreeVo> getThreeStatistics(@Param("warehouseIds") List<Long> warehouseIds);

    List<FirstPageFourVo> getFourStatistics(@Param("warehouseIds") List<Long> warehouseIds);

    List<FirstPageFiveVo> getFiveStatistics(@Param("warehouseIds") List<Long> warehouseIds);

    FirstPageSixVo getSixStatistics(@Param("warehouseIds") List<Long> warehouseIds);

    List<Long> getWarehouseIds(@Param("warehouseId") Long warehouseId);

    List<Long> getWarehouseIdsOne(@Param("gradeValue") String gradeValue);

    List<Common> getSevenStatistics();
}
